Communications system and method for synchronizing a communications cycle

ABSTRACT

The invention relates to a method for synchronizing a communications cycle and a communications node in a network. The node is formed with devices for receiving a desired value for a time base of a communications cycle of the communications node in a communications link to an additional communications node of the network. The node also includes devices for determining a system deviation between the desired value and an actual value of the time base, and a device for generating a manipulated variable for correcting the time base in accordance with the system deviation.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is the US National Stage of International ApplicationNo. PCT/DE02/03437, filed Sep. 13, 2002 and claims the benefit thereof.The International Application claims the benefits of German applicationNo. 10147422.9 filed Sep. 26, 2001, both applications are incorporatedby reference herein in their entirety.

FIELD OF INVENTION

The invention relates to a communication system and method forsynchronization of a communication cycle, especially for use inautomation systems.

BACKGROUND OF INVENTION

Various methods and systems for establishing communication connectionsbetween the subscribers of a data network are known from the prior art.Bus systems by which every subscriber can directly address every othersubscriber of the data network are in widespread use. Furthermoreswitchable data networks are known in which what are referred to aspoint-to-point connections can be established, i.e. a subscriber canonly reach all other subscribers of the switchable data networkindirectly, by corresponding forwarding of the data to be transmitted bymeans of one or more coupling units.

Data networks allow communication between a number of subscribers bynetworking, that is connecting the individual subscribers to each other.Communication here means the transmission of data between thesubscribers. The data to be transmitted is sent in this case as datatelegrams, i.e. the data is packed into a number of packets and sent inthis form over the data network to the corresponding recipient. The termdata packet is thus used. The term transmission of data is used in thisdocument fully synonymously with the above-mentioned transmission ofdata telegrams or data packets.

Networking itself for example is implemented in switchable highperformance data networks, especially Ethernet, by connecting at leastone coupling unit between two subscribers in each case, which isconnected to both subscribers. Each coupling unit can be connected tomore than two subscribers. Each subscriber is connected to at least onecoupling unit but not directly to another subscriber. Subscribers arefor example computers, Programmable Logic Controllers (PLC) or othermachines which exchange electronic data with other machines andespecially process it.

In distributed automation systems, for example in the area of drivetechnology, specific data must arrive at specific times at the intendedsubscribers and must be processed by the recipients. This is referred toas realtime-critical data or realtime-critical data traffic since, ifthe data does not arrive at its intended destination at the right timethis can produce undesired results at the subscriber. In accordance withthe IEC 61491, EN61491 SERCOS interface—Brief Technical Description inGerman (http://www.sercos.de/deutsch/index deutsch.htm) successfulrealtime critical data traffic of the type mentioned can be guaranteedin distributed automation systems.

Likewise the use of a synchronous, clocked communication system withequidistance characteristics is known per se in such an automationsystem. This is taken to mean a system consisting of at least twosubscribers that are linked via a data network for the purposes ofmutual exchange of data or mutual transmission of data.

In this case data is exchanged cyclically in equidistant communicationcycles which are specified by the communication clock used by thesystem. Subscribers are for example central automation devices,programming, project planning or operating devices, peripheral devicessuch as input/output modules, drives, actors, sensors, ProgrammableLogic Controllers (PLC) or other control units, computers or machineswhich exchange electronic data with other machines and process data,especially from other machines. In this document control units are takento mean closed-loop controllers or control units of all types. Typicalexamples of data networks used are bus systems such as Field Bus,Profibus, Ethernet, Industrial Ethernet, FireWire or also PC-internalbus systems (PCI), etc.

Automation components (e.g. controllers, drives, . . . ) nowadaysgenerally have an interface to a cyclically clocked communicationsystem. A run level of the automation components (fast-cycle) (e.g.positional control in a controller, torque control of the drive) issynchronized to the communication cycle. This defines the communicationtiming. Other lower-performance algorithms (slow-cycle) (e.g.temperature controllers) of the automation components can also onlycommunicate via this communication clock with other components (e.g.binary switches for fans, pumps, . . . ), although a slower cycle wouldbe adequate. Using only one communication clock for transmission of allinformation in the system produces high demands on the bandwidth of thetransmission link.

For use in automation systems in particular, PROFIBUS as well asPROFInet are known from the prior art. You can find technicalinformation about these systems at www.profibus.com. In Profibusnetworks the synchronization of the communication cycles, i.e. what arereferred to as the isochronous cycles, are entirely hardware implementedusing a Phase Locked Loop (PLL). This is possible since the Profibustopologies have underlying bus structures. Setting up point-to-pointconnections with such systems is not possible, especially not in anEthernet-based network. The PLL realized in the hardware of a Profibussystem leads to oscillation effects in an Ethernet network.

SUMMARY OF INVENTION

The object of the invention is thus to create an improved method forsynchronization of a communication cycle, an improved communication nodeand also an improved communication system and automation system and acorresponding computer program product.

The invention allows point-to-point connections to be establishedbetween the nodes of an Ethernet network. The individual communicationconnections between the nodes in this case preferably run incommunication cycles which are synchronized with each other. Tosynchronize the communication cycles a controller is provided in each ofthe nodes.

In accordance with a preferred embodiment of the invention, adjustmentof a communication cycle is distributed uniformly over a communicationcycle, i.e. distributed over the current communication cycle or over thesubsequent communication cycle. The result that can be achieved is thatthe subordinate higher-frequency cycle within the isochronous cyclemerely exhibits a jitter of a timer clock.

In accordance with a further preferred embodiment of the invention thedesired value of the time base is provided in each of the nodes by aclock pulse generator. The clock pulse generator generates a datatelegram at a specific node with the desired value of the time base ofthe node at the point of reception of the data telegram at the node bydetermining the desired value from the time base of the clock pulsegenerator, taking into account the delay time of the data telegram tothe node.

BRIEF DESCRIPTION OF THE DRAWINGS

Preferred exemplary embodiments of the invention are explained in moredetail below with reference to the drawings. The drawings show:

FIG. 1 a block diagram of an embodiment of a communication system inaccordance with invention,

FIG. 2 a block diagram of an embodiment of a communication node inaccordance with the invention,

FIG. 3 a flowchart of a preferred embodiment of a method in accordancewith the invention for synchronization of communication cycles,

FIG. 4 a signal diagram to illustrate the adjustment of the time base ina communication node.

DETAILED DESCRIPTION OF INVENTION

FIG. 1 shows a network 1 with communication nodes 2, 3, 4 and 5.Communication node 5 is a clock generator node which provides thereference time base for synchronization of the time bases in the othernodes of network 1. The reference clock pulse generator time base ofcommunication node 5 is generated by a timer 6 which, by timing with alocal clock of communication node 5, constantly counts from 0 to n−1.

The communication node 5 is used to create a data telegram 7 for node 2.The data telegram 7 contains the desired value of the time base of node2 at the point at which the data telegram is received.

The time base of node 2 is realized by a timer 8, which basically hasthe same structure as the timer 6 of the communication node 5. The timer8 has its own local clock for timing of the counter of the timer whichis independent of the clock of the communication node 5. When node 2 isswitched on timer 8 is thus asynchronous with timer 6. After an initialsynchronization an ongoing adjustment is necessary since the clockfrequencies of the different clocks of the time bases are never exactlyidentical.

For synchronization of the time base of node 2, i.e. of its timer 8,communication node 5 generates data telegram 7. The data telegram 7 issent from port H of communication node 5 to port A of communication node2 via the corresponding network connection in network 1. In this waycommunication node 2 obtains the necessary desired value for adjustingits time base.

Accordingly communication nodes 3 and 4 also receive data telegrams 7from communication node 5 for adjusting the corresponding timers 9 and10.

After the synchronization of the time base in the individual nodes 2, 3and 4 of the network 1 the communication cycles of point-to-pointconnections of the network 1 are asynchronous to each other. For examplethe communication node 2 can send one or more data telegrams to thecommunication node 3 during a communication cycle by using apoint-to-point connection between port B of the communication node 2 andport C of the communication node 3.

Accordingly, data telegrams can also be received during the synchronizedcommunication cycle from port C of communication node 3 to port B ofcommunication node 2. The same applies correspondingly to communicationbetween two different communication nodes which are linked to each otherby a network connection of network 1.

When such a direct network connection does not exist a telecommunicationconnection it will be established via a switching matrix in thecommunication node. If for example the communication node 4 would liketo send a data telegram to the communication node 2, this will be doneso that communication node 4 initially sends the data telegram from itsport E to the port D of communication node 3, from where it is forwardedvia the switching matrix of communication node 3 to the port C, to betransmitted from there via the direct network connection point-to-pointto the port B of communication node 2.

This process requires, especially for real-time capable packet datatransmission in a deterministic communication system, as neededparticularly for the purposes of automation technology, asynchronization of the communication cycles of the individualpoint-to-point connections in the network 1.

FIG. 2 shows a block diagram of communication node 2 of FIG. 1. Timer 8of communication node 2 has a counter 11 which constantly counts from 0to the threshold value n−1 in the threshold value register 12. Thecounter 11 is clocked by a local oscillator 13, that is by a clock.

The contents of the threshold value register 12, i.e. the parameter n,can be selected by a user. Selecting the parameter n defines the lengthof a communication cycle.

The counter 11 has a register 14 with the actual value of the counter.Furthermore the counter 11 has a register 15 and a register 16, each forstoring a parameter S1 and S2 of the manipulated variables for adjustingcounter 11 to synchronize the time base of the communication cycle.

When the threshold value specified by the contents of threshold valueregister 12 is reached, counter 11 issues a cycle signal which starts atransmission cycle. This cycle signal is issued for example to port B ofcommunication node 2. Port B contains a send list 17 and a receive list18. During a communication cycle both the send list 17 and also thereceive list 18 are processed.

The communication node 2 also has a program 19. The program 19 has aprogram module 24 for entering the actual counter value of counter 11and the desired counter value. Furthermore program 19 has a programmodule 21 for determining a system deviation by comparing the actualtimer value and the desired timer value. Furthermore program 19 hasprogram modules 22 and 23 each with an adjustment rule for creating amanipulated variable for controlling or adjusting the time base inaccordance with the system deviation. The program module 22 is used herefor controlling an initialization phase and program module 23 foradjustment during operation. Both program modules 22 and 23 generate theparameters S1 and S2 of the manipulated variable for the adjustment ofthe time base, i.e. of the timer 11 of timer 8.

At this input the program 19 receives the contents of register 14, i.e.the actual count of value and in addition it receives via acommunication connection between communication node 2 and communicationnode 5 (cf. FIG. 1) the data telegram 7 (cf. likewise FIG. 1) via theport A of communication node 2.

During the initialization phase of node 2, i.e. during of the initialsynchronization of the timer 11 which is running asynchronously thecommunication node 2 receives the data telegram 7 with the currentdesired timer value. This data telegram 7 will be received by thecommunication node 5, i.e. its port H at Port A of communication node 2and forwarded from there to program 19.

Likewise in program 19 the actual counter value from register 14 isentered. From program module 20 the corresponding actual timer andthreshold values are then forwarded to program module 21 to determinethe system deviation.

To do this program module 21 accesses program module 22 during theinitialization phase. This then generates the manipulated variable, i.e.the parameters S1 and S2 of the manipulated variable. These parameterswill be written by program 19 into registers 15 or 16. This adjustmentis preferably not effective until the cycle signal has been issued, i.e.for the subsequent communication cycle.

Parameter S1 specifies for such a subsequent communication cycle whichof the clocks is to be influenced by the adjustment in the communicationcycle. In this case for example this can involve a second, third or mthclock. Parameter S2 in register 16 by contrast specifies how to proceedwith the clocks to be influenced. Preferably the contents of register 16are either 0 or 2, i.e. an extension of the cycle is achieved by thetimer 11 not being incremented for the clock concerned or a shorteningof the cycle is achieved by the timer 11 being incremented by 2 at theclock concerned. It is not however mandatory for the adjustment by meansof the parameters S1 and S2 to be undertaken in the very nextcommunication cycle, it can also be undertaken in subsequentcommunication cycles.

After the initialization phase, i.e. after the initial synchronizationof the timer 11 which is initially running fully asynchronously, theprogram module 21 selects program module 23 for the adjustment whichthen creates the parameters S1 and S2 in accordance with the adjustmentrules applicable for the operating phase. By this method of adjustmentthe extension or shortening of the communications cycle are distributeduniformly over the clocks during a communication cycle.

In accordance with an alternative preferred embodiment thesynchronization is undertaken during the initialization phase of thenode not by adjustment, in which (as in operation) the number of clocksto be adjusted are uniformly distributed within the cycle. With the aidof a first synchronization telegram in the initialization phase thesynchronization slave is by contrast first set “rigidly” to the value ofthe synchronization master.

This is advantageous, in order, with a max. adjustment difference of ahalf isochronous cycle, not to obtain any unnecessarily longsynchronization times. This is especially necessary for networks with anumber of nodes, since otherwise oscillation effects can occur in thenetwork under some circumstances, which may possibly not allow anyadjustment at all and thereby no synchronization.

FIG. 3 shows a flowchart of an embodiment of the method in accordancewith the invention. In step 30 a desired value of the time base of therelevant communication node is received from a clock pulse generator ofthe communication system. In step 32 a system deviation is determinedfrom the difference between desired value and the actual timer value ofthe time base of the relevant communication node.

In step 34 a manipulated variable for adjusting the time base, that isthe duration of a communication cycle, is determined by means of anadjustment rule from the system deviation. The manipulated variable isdetermined in such a way here that the adjustment of the duration of thesubsequent communication cycle is distributed as uniformly as possibleover the clocks of the communication cycle.

The actual adjustment of the communication cycle is undertaken in step36 by activating the corresponding manipulated variables in the timer ofthe communications node concerned after issuing the cycle signal, i.e.at the beginning of the subsequent communication cycle.

FIG. 4 shows an example for the use of the adjustment method inaccordance with the invention. A signal 24 of the synchronizationmaster, i.e. the clock of the clock pulse generator node, is subdividedinto cycles 25. In each cycle 25 the timer of the clock pulse generatornode counts from 0 to 9, i.e. 10 clocks 26 are generated per cycle 25.This provides the clock pulse generator time base for thesynchronization of the communication cycles in the communication system.

The signal 27 belongs to a synchronization slave, i.e. one of thecommunication nodes of the communication system, for which the time baseis to be adjusted for synchronization of its communication cycles. Thesynchronization slave initially has a system deviation from the cycle ofthe synchronization master of two clocks. A corresponding manipulatedvariable is determined from this system deviation. The manipulatedvariable specifies whether within the next communication cycle thiscommunication cycle must be extended or shortened and by how much thenext communication cycle must be changed if necessary.

In the example case considered here the subsequent communication cycleis to be extended by four clocks. This is to be done by repeating everysecond clock. The corresponding parameters S1 and S2 (cf. FIG. 2) arethen S1=2 and S2=0. It is particularly advantageous here that theadditional four clocks are not simply appended to this cycle to extendit but are uniformly distributed within the cycle so that thesubordinate cycle clock 28 varies at most by +/−one clock. This avoidscycle clock 28 of the communication cycle being extendeddisproportionately at the end of the communication cycle compared toother communication cycles. The outcome of this is that the subordinatehigher frequency cycle clock 28 merely features a jitter of one timerclock within the communication cycle.

The present invention is particularly advantageous in that it allows adistributed software/hardware control of the communication cycle, i.e.of what is referred to as the isochronous cycle, in real time capablenetwork components, particularly Ethernet switches. This makes itpossible to dynamically adapt the control algorithms depending on thenetwork characteristics or area of application in the field. In thiscase the adjustment in the initialization or startup phase of thecommunication system can be distinguished from the adjustment duringoperation. Furthermore, because of the uniform distribution of themanipulated variable and the associated adjustment of the time baseduring a communication cycle subordinate cycles can also be adjusted.

1. A method for operating a first node in a network comprising:processing a send list and a receive list during a communication cycle;receiving a desired value for a time base of the communication cycle inthe first node of the network; determining a system deviation from thedesired value and an actual value of the time base; providing amanipulated variable for providing information for adjusting the timebase over multiple clocks of the time base; and generating with themanipulated variable, a manipulated value for adjusting the time basecorresponding to the system deviation, the desired value sent by a clockpulse generator node of the network by a data telegram to the firstnode, and the desired value determined by the clock pulse generator nodefrom a reference time base of the clock pulse generator node takingaccount of the delay time of the data telegram to the first node.
 2. Amethod in accordance with claim 1, wherein a point-to-point connectionbetween the first node and a second node of the network exists duringthe communication cycle.
 3. A method in accordance with claim 1, whereinthe network is a switched data network.
 4. A method in accordance withclaim 1, wherein the first or the second node having a switching matrixfor establishing a switched point-to-point connection.
 5. A method inaccordance with claim 1, wherein the desired value is received from thefirst node via the network.
 6. A method in accordance with claim 1,wherein the manipulate variable is for providing information foradjusting the time base over multiple clock of the time base percommunication cycle.
 7. A method in accordance with claim 6, wherein thenumber of clocks for adjusting the length of the communication cycle isuniformly distributed over the current or a subsequent communicationcycle.
 8. A method in accordance with claim 6, wherein the manipulatedvariable is based on a first parameter and a second parameter, the firstparameter defining the number of clocks, for adjusting the length of thecommunication cycle, distributed uniformly over a communication cycleand the second parameter defining an amount by which each clock definedby the first parameter is to be adjusted.
 9. A method in accordance withclaim 1, further comprising: providing a first adjustment rule forcreating a manipulated variable during an initialization phase;providing a second adjustment rule for creating the manipulated variableduring operation.
 10. A communication system having communication nodesand a clock pulse generator node, one of the communication nodescomprising: a send list and a receive list for processing during acommunication cycle; a device for receiving a desired value for a timebase of the communication cycle of the communication node of acommunication connection with a further communication node of thenetwork; a device for determining a system deviation from the desiredvalue and an actual value of the time base; a device for providing amanipulated variable for providing information for adjusting the timebase over multiple clocks of the time base and for generating, with themanipulated variable, a manipulated value for adjusting the time basecorresponding to the system deviation, wherein the clock pulse generatornode includes a device for sending a data telegram with the desiredvalue to a relevant communication node, and the desired value isdetermined from an actual value of a clock pulse generator base and adelay time of the data telegram from the clock pulse generator node tothe relevant communication node, wherein the network establishedpoint-to-point connections is synchronized communication cycles.
 11. Acommunication system in accordance with claim 10, wherein thecommunication connection is a point-to-point connection.
 12. Acommunication system in accordance with claim 10 configured forreceiving or sending realtime data via the communication connection. 13.A communication system in accordance with claim 10, wherein the devicefor generating a manipulated value provides that the adjustment of thetime base is distributed uniformly over a communication cycle.
 14. Acommunication system in accordance with claim 10, wherein the device forgenerating a manipulated variable is adapted to generate a firstparameter and a second parameter of the manipulated variable, the firstparameter defining a number of clocks of the time base and the secondparameter defining whether the clocks defined by the first parameter areto be repeated or not executed.
 15. A communication system in accordancewith claim 10, wherein the communication system is used in an automationsystem.
 16. A method in accordance with claim 1, wherein the network isa realtime Ethernet network.
 17. A method in accordance with claim 2,wherein the network is a switched data network.
 18. A method inaccordance with claim 2, wherein the first or the second node has aswitching matrix for establishing a switched point-to-point connection.19. A communication system in accordance with claim 10, wherein thecommunication connection is a switched data network.